package com.example.demo.day0225;

import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class StudyHashSet {
    public static void main(String[] args) {
        Set set=new HashSet();//与object泛型等价
        //Set<Object>set=HashSet();
//        set.add(1);//set集合有add方法
//        set.add("a");
//        System.out.println(set);
//        set.remove(1);//set集合中的移除方法
//        System.out.println(set);
//        System.out.println(set.contains("a"));//set集合中的判断
//        set.clear();//清空集合
        set.add("a");
        set.add("b");
        set.add("c");
        set.add("d");
        set.add(true);
//        set.add("d");//Set集合不能重复
        set.add(null);//Set集合不保证元素排列的顺序
        System.out.println(set);
        Iterator h =set.iterator();//使用迭代器遍历集合
        while(h.hasNext()){
            System.out.println(h.next());//使用迭代器迭代输出

            //for each迭代
            for (Object obj:set){//将set每个元素取出来赋值给obj，直到循环set的所有值
                System.out.println(obj);
            }
        }
        System.out.println(set.size());//获取集合的元素的个数
        Set<System> set1=new HashSet<System>();//指定String为集合的泛型，那么这个集合只能存在String类型的数据
        set.add("abc");
//        set1.add(1);
        Set<Exception1> setException1=new HashSet<Exception1>();//指定Exception1为集合的泛型，那么这个集合只能存在Exception1类型的数据
        setException1.add(new Exception1());
    }
}

